package com.zenchn.model;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.time.LocalDateTime;

@ApiModel(value="客户对象",description="客户对象")
public class TMiCustomer implements Serializable {

    private static final long serialVersionUID = -573194083385825277L;

    @ApiModelProperty(value="客户ID")
    private String customerId;

    @ApiModelProperty(value="类型 1:代理商 2:医院")
    private String customerType;

    @NotEmpty(message = "所属省份不能为空")
    @ApiModelProperty(value="所属省份")
    private String areasCode;

    @NotEmpty(message = "企业名称不能为空")
    @ApiModelProperty(value="企业名称")
    private String customerName;

    @NotEmpty(message = "地址不能为空")
    @ApiModelProperty(value="地址")
    private String customerAdress;

    @NotEmpty(message = "主营不能为空")
    @ApiModelProperty(value="主营")
    private String business;

    @NotEmpty(message = "业务区域不能为空")
    @ApiModelProperty(value="业务区域")
    private String region;

    @ApiModelProperty(value="网址")
    private String net;

    @ApiModelProperty(value="等级")
    private Integer level;

    @ApiModelProperty(value="所属用户")
    private String accountId;

    @ApiModelProperty(value="所属代理商")
    private String belongTo;

    @ApiModelProperty(value="创建人")
    private String creator;

    @ApiModelProperty(value="创建时间",hidden = true)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @ApiModelProperty(value="修改人")
    private String reviser;

    @ApiModelProperty(value="修改时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime modifyTime;

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId == null ? null : customerId.trim();
    }

    public String getCustomerType() {
        return customerType;
    }

    public void setCustomerType(String customerType) {
        this.customerType = customerType == null ? null : customerType.trim();
    }

    public String getAreasCode() {
        return areasCode;
    }

    public void setAreasCode(String areasCode) {
        this.areasCode = areasCode == null ? null : areasCode.trim();
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName == null ? null : customerName.trim();
    }

    public String getCustomerAdress() {
        return customerAdress;
    }

    public void setCustomerAdress(String customerAdress) {
        this.customerAdress = customerAdress == null ? null : customerAdress.trim();
    }

    public String getBusiness() {
        return business;
    }

    public void setBusiness(String business) {
        this.business = business == null ? null : business.trim();
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region == null ? null : region.trim();
    }

    public String getNet() {
        return net;
    }

    public void setNet(String net) {
        this.net = net == null ? null : net.trim();
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public String getAccountId() {
        return accountId;
    }

    public void setAccountId(String accountId) {
        this.accountId = accountId == null ? null : accountId.trim();
    }

    public String getBelongTo() {
        return belongTo;
    }

    public void setBelongTo(String belongTo) {
        this.belongTo = belongTo == null ? null : belongTo.trim();
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator == null ? null : creator.trim();
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getReviser() {
        return reviser;
    }

    public void setReviser(String reviser) {
        this.reviser = reviser == null ? null : reviser.trim();
    }

    public LocalDateTime getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(LocalDateTime modifyTime) {
        this.modifyTime = modifyTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", customerId=").append(customerId);
        sb.append(", customerType=").append(customerType);
        sb.append(", areasCode=").append(areasCode);
        sb.append(", customerName=").append(customerName);
        sb.append(", customerAdress=").append(customerAdress);
        sb.append(", business=").append(business);
        sb.append(", region=").append(region);
        sb.append(", net=").append(net);
        sb.append(", level=").append(level);
        sb.append(", accountId=").append(accountId);
        sb.append(", belongTo=").append(belongTo);
        sb.append(", creator=").append(creator);
        sb.append(", createTime=").append(createTime);
        sb.append(", reviser=").append(reviser);
        sb.append(", modifyTime=").append(modifyTime);
        sb.append("]");
        return sb.toString();
    }
}
